home *** CD-ROM | disk | FTP | other *** search
/ Revolution - Das Atari CD Magazin 1997 / Revolution - Das Atari CD Magazin 1.iso / software / anwendng / utility / m_saver / paula / paula_e.txt next >
Text File  |  1994-10-25  |  32KB  |  717 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6. PAULA ][
  7.  
  8. (Paula, take two!)
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15. An Amiga-MODfile-Player
  16. for the Atari TT & STE
  17.  
  18. Version 2.4
  19. 15.9.1994
  20.  
  21.  
  22.  
  23. Shareware by: Pascal Fellerich
  24.  
  25.  
  26.  
  27. Shareware
  28. =========
  29. Starting with version 2.0 Paula is shareware. That means that you may 
  30. distribute and test this software freely. But if you use it regularly 
  31. you have to register.
  32.  
  33. At the beginning Paula was a little utility to play modfiles which I 
  34. wrote in some weeks. As the reactions on this little piece of software 
  35. were very positive, I decided to rewrite the player completely which 
  36. made it possible to integrate many new features. Paula has become a 
  37. real powerful program which has no equivalent until now. So I decided 
  38. to release it as shareware. You'll find details in the paragraph 
  39. 'Registration Procedure'.
  40.  
  41. The following files are part of the 'PAULA'-package and must remain 
  42. unchanged and be distributed together:
  43.  
  44. 1.  PAULA.APP   The main program (alternative names are PAULA.ACC or 
  45.     PAULA.PRG)
  46. 2.  PAULA_D.TXT the german manual
  47. 3.  PAULA_E.TXT the english manual
  48. 4.  MP.TTP  ModPlay: a little utility to play modules even from CLI's.
  49. 5.  MP.C    the source code of ModPlay
  50. 6.  MP.PRJ  Project-File for use with Pure-C
  51. 7.  CHECKMOD.TTP    Checks if a module is OK and repairs corrupted 
  52.     modfiles as far as this is possible.
  53.  
  54. If your version of PAULA needs a key(** The versions 2.0 to 2.3 and 
  55. possibly also versions from 2.5 on need a key to reenable some blocked 
  56. features.**): The file 'PAULA.INF' must not be given away as this file 
  57. contains your registration data. Of course all modifications to one 
  58. of these files are forbidden! Paula may be distributed via BBS and on 
  59. 'Public Domain' disks; however the shareware status of this software 
  60. is not affected!
  61.  
  62. All rights reserved by P. Fellerich..
  63. Contact address:    Pascal Fellerich
  64.                     45, rue des Genêts
  65.                     L-3482 Dudelange
  66.                     (Luxembourg)
  67.  
  68. E-Mail:             2:270/16.3 (Fido-Net)
  69.                     fellerich@fido.lu (Internet)
  70.  
  71.  
  72. Registration procedure
  73. ======================
  74. Paula is shareware. This means that you have to pay for it when you 
  75. use it regularly. The versions 2.0 up to 2.3 needed a key to enable all 
  76. the features, a key you could only obtain by paying your registration 
  77. fee. The version 2.4 does not have a key or any similar restrictions. 
  78. To prevent excessive illegal use of this program it's up to you to 
  79. decide how much to pay! If you want to register, please send me:
  80.  
  81. ·   Your address (legible, please)
  82.     Name: <first name> <name>   (30 chars maximum)
  83.     Addr: <street>              (30 chars maximum)
  84.     City: <zip> <city>          (30 chars maximum)
  85.  
  86. ·   The shareware fee with a remark that it's for Paula. To avoid any 
  87.     complications I only accept cash money (BEF/LUF, DM, US$, UK£...)
  88.  
  89. I'll send you your personal key for Paula ][ which is needed for 
  90. older and perhaps also  newer releases. If you have any questions 
  91. and/or suggestions I'll be glad to help you.
  92.  
  93.  
  94. Why Paula?
  95. ==========
  96. Paula plays the so-called 'modfiles' using the STE/TT PCM sound chip. 
  97. These modfiles, also called 'modules', originate from the Amiga which 
  98. has a special four-channel PCM soundchip called 'Paula'.
  99.  
  100. Paula doesn't claim to be the only or the fastest modplayer available 
  101. for the Atari, but it has a unique combination of a perfect GEM user 
  102. interface and a highly sophisticated sound processing unit.
  103.  
  104.  
  105. What does Paula?
  106. ===============
  107. To avoid a rather lengthy description, here is a short list with 
  108. Paula's features:
  109. ·   Compatible to really all MOD-formats, ranging from the old 
  110.     Soundtracker format to the new Protracker format.
  111. ·   Three sampling frequencies are available: 12.5, 25, 50 KHz (when 
  112.     using Paula on ST's with a little help from the sound-driver 
  113.     'PETRA' it's 6, 9.6 and 12 KHz).
  114. ·   Linear interpolation option giving a great improvement in sound 
  115.     quality.
  116. ·   Booster option, rising the S/N ratio by 6 dB.
  117. ·   Completely independent pitch and speed tuning.
  118. ·   Supports LZ5 or AFX packed modules.
  119. ·   Real GEM - consequently it will run on any TOS-machine. This also 
  120.     includes Atari's MultiTOS, Magix ...
  121. ·   Simple and intuitive control
  122. ·   Supports extended selection features of Selectric™ and Gemini
  123. ·   Programmable like a simple CD player
  124. ·   Random: random play of several modules.
  125. ·   Repeat-switch: one module or a whole selection may be repeated 
  126.     indefinitely
  127. ·   CPU Load and position display
  128.  
  129.  
  130. How it began...
  131. ===============
  132. When I got my TT I wanted to hear the new sound chip. So I downloaded 
  133. some modplayers for the STE and tried them. Unfortunately most of them 
  134. crashed, and those which ran on the 68030 produced 'lo-fi' (low 
  135. fidelity) sound. So I had to write a player on my own. But that was 
  136. easier said than done - I had to acquire the knowledge of the 'real' 
  137. PAULA-chip in the Amiga and of course of the STE/TT sound hardware 
  138. simply because I wanted to port an old replay routine from the Amiga 
  139. (D.O.C. replayroutine 2.0 from june 1986). Some weeks later Paula 1.0 
  140. was 'up and running'. This release was still buggy and had limited 
  141. capacities but it finally worked fine on the TT. After several 
  142. optimizations and improvements I concluded the development at v1.5.
  143.  
  144. In april 92 a discussion in the fidonet BBS re-ignited the global 
  145. interest in the module player, and I decided to continue the 
  146. development. The versions 1.7 and 1.8 were released. In the meantime, 
  147. the sound quality was greatly enhanced but still the user interface was 
  148. lousy. So I rewrote the whole thing - that's it...
  149.  
  150.  
  151. System requirements
  152. ===================
  153. Paula runs on any machine that has:
  154. 1.  a TOS-compatible operating system, starting with TOS 1.4
  155. 2.  an STE-compatible sound hardware - or the sound driver PETRA
  156.  
  157. However, only the faster machines allow decent background use of 
  158. Paula; a stock STE running at 8 MHz won't do 25 KHz sampling frequency. 
  159. A MegaSTE at 16 MHz is fine, a TT is better.
  160.  
  161. To be able to run Paula on ST's without the PCM sound chip you need 
  162. PETRA - a sound driver for Paula by Christian Limpach.
  163.  
  164.  
  165. Installation
  166. ============
  167. Paula may run as an accessory or as an application. With normal TOS 
  168. versions the accessory mode is useful, under MultiTOS you may find it 
  169. better to use it as a program. Of course you may use 'the Chameleon' 
  170. (or any other good accessory loader) to load the ACC..
  171. Under MultiTOS or Magix Paula may also run as a background task, but 
  172. then you may not close it's main window without leaving the program!
  173. Another useful thing is XCONTROL - you should have installed the 
  174. 'SOUND' cpx-module so that you can change the volume, treble, bass and 
  175. balance. Moreover you should connect your computer to your stereo 
  176. equipment (via the RCA jacks) to get the best possible sound.
  177.  
  178.  
  179. User's Guide
  180. ============
  181. After you have launched Paula you get a window containing the main 
  182. dialog. This one is subdivided into 6 areas:
  183.  1. the info line
  184.  2. the Player & Sound Setup
  185.  3. SampleFreq
  186.  4. CPU Load
  187.  5. Position
  188.  6. the player's control keys
  189.  
  190. The control keys
  191.  
  192. These controls are hopefully the simplest. They carry the commonly 
  193. used symbols you also find on a cassette tape recorder, so you should 
  194. be familiar with those. Note that every key is marked with a little 
  195. letter in the upper left corner - that's the keyboard shortcut. Press 
  196. 'L' to Load a file.
  197.  
  198. LOAD: First you must load a module. When you click on the LOAD-button 
  199. you get the file selector in order to select a module. On 'OK' Paula 
  200. immediately loads the module. If this operation was successful the info 
  201. line of the window will show the text 'Stopped: <modfilename>'. If an 
  202. error occurred you will be informed by a standard alert box. If you 
  203. have installed 'Selectric™' as a file selector, you may also specify 
  204. more than one module!
  205.  
  206. STOP: Well, this one stops a module and resets the player. This also 
  207. clears Paula's memory - if you had selected several modules Paula will 
  208. forget them. The info bar shows 'Stopped: ...'. In accessory mode, 
  209. closing the window in the stopped state also releases the memory 
  210. allocated for the last loaded module.
  211.  
  212. PLAY: Starts the player. If you haven't selected a module Paula will 
  213. prompt you to do so. If you press 'PLAY' when Paula is busy playing one 
  214. of several modules it will skip to the next module. (Skip function).
  215.  
  216. PAUSE: Stops the player temporarily. The player is not reset! In that 
  217. state you may also quit the accessory (close the window) without losing 
  218. the current module. To continue, press PAUSE or PLAY.
  219.  
  220. REW: (REWIND) Jumps to the previous position in the module. This 
  221. function works only if Paula is in the 'playing' or 'paused' state.
  222.  
  223. FF: (FAST FORWARD) Jumps to the next position in the module. This 
  224. function too only works in play- or pause-mode.
  225.  
  226. !: (Exclamation sign) Invokes the SETUP-dialog which offers some more 
  227. functions like pitch and speed tuning.
  228.  
  229. ?: (Question mark) Some general informations about Paula. Through 
  230. this dialog you also get the registration dialog. How to register is 
  231. described some pages later (title: Registration procedure)
  232.  
  233. Try to familiarize yourself with these commands by simply trying them 
  234. out! Whatever you do, you will not succeed in crashing Paula - even not 
  235. on machines with memory protection.
  236.  
  237.  
  238. The info line
  239. =============
  240. Paula uses the info line of the window to display it's current status 
  241. as well as the title of the currently loaded module. Currently four 
  242. states are defined:
  243.  
  244. Inactive:   Paula does nothing. No file is loaded and no memory is 
  245. allocated. When you change resolutions Paula should preferably be in 
  246. this mode to avoid memory loss or system crashes.
  247.  
  248. Stopped:    Paula has loaded a module. If you change resolution now you 
  249. will lose the allocated memory because you didn't give Paula a chance 
  250. to release it.
  251.  
  252. Paused:     Paula is waiting to continue. The FF and REW buttons work.
  253.  
  254. Playing:    Paula is busy - don't you hear that? If another program 
  255. accesses the sound hardware Paula is stopped, of course. But as soon as 
  256. the soundchip gets freed Paula tries to continue, which may take up to 
  257. 1 second. If not, this is a bug and should be reported. However you 
  258. may manually relaunch the player by pressing the PAUSE-button twice.
  259.  
  260.  
  261. SampleFreq
  262. ==========
  263. You may choose the sampling frequency used by Paula. Currently there 
  264. are three possibilities: 12.5, 25 and 50 KHz. The higher the sampling 
  265. frequency the better the high frequency response. Theoretically the 
  266. highest sound frequency is half the value of thesampling frequency 
  267. (cf Shannon's sampling theorem). On the Atari hardware it's about 40% 
  268. of the sampling frequency. When using 25 KHz samplefreq you get up to 
  269. 10 KHz sound frequency.
  270.  
  271. Changes in the sampling frequency are immediately effective. During 
  272. the switching the sound is muted for a very short moment to avoid 
  273. chirping and click noises.
  274.  
  275.  
  276. Player & Sound Setup
  277. ====================
  278. In that area you find two types of switches:
  279. ·   switches to influence the sound synthesizer
  280. ·   switches to change the replay modes
  281.  
  282. ג Interpolate: Enables the realtime interpolation of the samples. This 
  283. gives a much better sound quality but it requires a lot of CPU power. 
  284. On a TT this is a must because the 68030 does multiplication and shift 
  285. ops much faster than the 68000 CPU. By the way, this also applies to 
  286. the 68020 - so if you have a 020-   board installed in your STE...
  287.  
  288. ג Booster: Increases the output signal by 6 dB using a little trick. 
  289. This improves the signal to noise ratio but it also introduces a 
  290. certain amount of distorsions, especially when playing high-level 
  291. signals. As these distorsions are mainly of the second order it 
  292. shouldn't sound too awful.
  293.  
  294. ג Protracker: Enables the protracker compatibility. In general, sound 
  295. modules are upwards compatible so that a new player should play 
  296. correctly an old module, but unfortunately the protracker introduced 
  297. some features which are more critical. So you have the possibility to 
  298. switch off some of the new protracker commands. However, old 15-
  299. instrument modules are played with protracker-mode disabled, 
  300. regardless of the switch position.
  301.  
  302. ג Repeat: This switch has two meanings, depending on how many modules 
  303. you have selected. If you have selected a single module, this module is 
  304. repeated, else the whole bunch of modules is repeated. By the way, 
  305. there are some modules which use 'jump' commands to build an endless 
  306. loop. Paula recognizes these and interrupts them.
  307.  
  308. ג Random: This is the random play function. If you have selected 
  309. several modules, they will be played in random order - but every module 
  310. only one time! After every module has been played, Paula stops or 
  311. restarts the whole process, depending on the 'Repeat' switch.
  312.  
  313.  
  314. CPU-Load display
  315. ================
  316. This bargraph shows the amount of cpu time Paula needs for the sound 
  317. synthesis. It is a relative display, 100% are always the total cpu 
  318. time, no matter what processor you have. No Landmark or Norton - that's 
  319. simply not informative enough.
  320. At the right edge of the cpu load bargraph there is a little red box 
  321. which flashes every time your machine was not fast enough.
  322.  
  323.  
  324. Position
  325. ========
  326. This display shows the current position in the module. It's using the 
  327. hexadecimal format - you know, programmers do it in hex!
  328.  
  329.  
  330. General instructions
  331. ====================
  332. The main commands are mainly intuitive and should be easy to use. But 
  333. there are also some special functions which are not so evident. These 
  334. are:
  335. ·   leaving the main dialog
  336. ·   selecting multiple modules ('multiplay mode')
  337. ·   key command logic
  338. ·   hidden features
  339.  
  340. When you close the main window and Paula is an accessory, the player 
  341. will continue. Moreover you may close this window by simply pressing 
  342. the <Return> key - the same as in XCONTROL.ACC.
  343.  
  344. But if Paula runs as a program, closing the main window will 
  345. terminate the program and the player will of course be stopped. so in 
  346. PRG mode you can't quit by pressing <Return> - you must click on the 
  347. closer-gadget of the window.
  348.  
  349. Multiple choice... The simplest way to select more than one module is 
  350. to use wildcards. Instead of selecting a file in the file selector 
  351. simply choose the right path then type the file specification, e.g. 
  352. 'A*.MOD'. This would play any module whose name starts with 'A'. If 
  353. you simply want to have all modules played which are located in one 
  354. directory, simply select that directory but don't enter a name. Paula 
  355. will then automatically select any file which matches '*.MOD'.
  356.  
  357. ...using Selectric:     If you use 'Selectric™' as a file selector 
  358. you may select multiple files (shift-key + mouse click), Paula will 
  359. load them. You'll find details in the Selectric-manual.
  360.  
  361. ...with the Desktop, Gemini, EASE etc: Install PAULA as an 
  362. application for the files of the type 'MOD'. Paula does not only 
  363. evaluate its command line but also understand  VA_START (or MP_START) 
  364. messages.
  365.  
  366. Some words about the key command logic: Paula always tries to stay in 
  367. the current mode. If a module is running and you load another one, the 
  368. newly loaded module is immediately played.  If Paula was stopped when 
  369. you select multiple modules, it will go into the 'pause'-mode. This has 
  370. to be done that way because Paula will forget everything as soon as it 
  371. enters the 'Stopped' mode. I suggest that you try these commands to 
  372. familiarize yourself with it.
  373.  
  374. Extras: Paula is prepared for multitasking environments. This means:
  375. ·   Paula evaluates its command line.
  376. ·   Paula understands VA_START and own (MP_...) messages.
  377. ·   Paula identifies already running copies of itself and passes the 
  378. command line to the running copy, so that there's only one instance of 
  379. the program running at the time(**  Not true for the accessory version: 
  380. Paula can be installed as often as you like as an accessory.**).
  381.  
  382.  
  383. Setup-Page dialog
  384. =================
  385. This dialog box is called with the '!'-command. It offers some nice 
  386. features to manipulate the sound as well as the 'save'- function.
  387.  
  388. Pitch Bend (cent): This is a fine tuning function. 100 cent is one 
  389. half tone, and you may (fine-)detune Paula by one half tone. The 
  390. standard tuning corresponds to a 'NTSC'-Amiga with 7.15909 MHz clock 
  391. frequency. To get the 'PAL'-Amiga tuning, set the pitch bender to -
  392. 10..-15 cent. The steps are 5 cent, a finer step is not needed as the 
  393. human ear has already problems to detect a detuning by 5 cent..
  394.  
  395. Transpose: This is the coarse tuning function. It changes the tuning 
  396. in half tone steps, maximum is 12 half tones which corresponds to one 
  397. octave.
  398.  
  399. Frame Speed: This is the 'ticker' speed used as a speed reference in 
  400. the module. On the Amiga this is the 50 Hz VBlank interrupt, so the 
  401. standard setting is 50 Hz. Paula allows any value from half to double 
  402. speed (25..100 Hz).
  403.  
  404. Save: Saves the current setup into the 'PAULA.INF' file and then 
  405. leaves the dialog. Note that all settings are saved, the main dialog 
  406. settings as well as your registration data.
  407.  
  408. Exit: Leaves the dialog without changing anything. However the 
  409. changes you have made will not be undone.
  410.  
  411. Reset: Resets the three settings (Pitch fine/coarse, Speed) and 
  412. leaves the dialog.
  413.  
  414.  
  415. Info Page dialog:
  416. =================
  417. The unavoidable info box... and also a nice way to remind you 
  418. sometimes of the fact that you are still using an unregistered copy!
  419.  
  420.  
  421. Packed modules!
  422. ===============
  423. Paula 2.1 supports LZ5 or AFX packed modules. To make such packed 
  424. modules you can use LHARC 2.01 or higher! Suppose that you have all 
  425. your modules gathered in the directory C:\MODFILES and your hard disk 
  426. is getting full. Then launch LHARC.TTP and enter as a commandline: 'c 
  427. C:\MODFILES\*.MOD'. The LHARC program will then pack all your modules, 
  428. reducing them to approximatively to 75% of their original size. Paula 
  429. will not make any difference between packed and unpacked modules, so 
  430. this is completely transparent to the user.
  431.  
  432.  
  433. Error messages
  434. ==============
  435. Paula normally reports errors using standard alert boxes. To avoid 
  436. problems with unwanted alert boxes popping up Paula won't complain 
  437. about it's problems if it's main window is closed.
  438. Let's assume you selected the modules, A.MOD, B.MOD and C.MOD; random 
  439. mode is off. Paula starts playing A.MOD, the you close the window. 
  440. After finishing with A.MOD, Paula tries to load B.MOD. If this does not 
  441. succeed Paula will stop any further activities and will go into the 
  442. 'Inactive' state. If you invoke Paula and select 'LOAD', you will see 
  443. the name an path of the module which caused the error.
  444.  
  445. If you get the message 'Corrupted MODfile' this means that the 
  446. selected module cannot be played. In that case try the utility 
  447. 'CHECKMOD.TTP' which analyzes a module and also repairs it - if 
  448. possible.
  449.  
  450.  
  451. More informations
  452. =================
  453. A module contains up to 31 different samples which are also called 
  454. 'instruments'. To play a given sample at different pitches the Amiga 
  455. simply varies the replay sampling frequency. The higher the sampling 
  456. frequency the higher the note. As the Amiga has four independent 
  457. sound channels, each one having it's own D/A converter it can play 
  458. four different samples simultaneously without the help of the CPU. 
  459. The Atari has only two channels (stereo L + R) which are not 
  460. independent and only four fixed sampling rates. So another trick must 
  461. be used to simulate the Amiga Chip - the 'direct digital synthesis', 
  462. or 'resampling' as this process is more widely called. It's not 
  463. difficult to understand: the sample data is not replayed at a 1:1 
  464. rate but with an 1:R rate where R is a floating point number. If you 
  465. want to play a sample at half speed R is 2 - every byte of the sample 
  466. is output twice. If you want it to be at 75% of it's original speed, R 
  467. is 1.5 - this time one byte is output twice, the second is output once 
  468. and so on. Unfortunately the sampling data is output irregularly - 
  469. which gives a distorted sound. There are two ways of eliminating these 
  470. distorsions. Either make the step 'R' rather big (this would require 
  471. very large samples originally sampled at a very high rate) or 
  472. interpolate the output data. The best thing would be a spline 
  473. interpolation but unfortunately this requires matrix operations, so 
  474. Paula uses a simple linear interpolation. Don't confuse it with the 
  475. 'oversampling' of some other module players - they only double the 
  476. output data and set the sound hardware to the double sampling frequency.
  477. The resulting sound is of a very high quality - at 50 KHz sampling 
  478. rate even better than the Amiga! This is due to the fact that the 
  479. TT/STE has no 7 KHz low pass filter which cuts off the high 
  480. frequencies. If the Amiga switches of this filter it also prod
  481. uces more trebles but also more aliasing components. If you doubt 
  482. about that take an Amiga, listen to it and read about the facts in the 
  483. Hardware Reference Manual [2].
  484.  
  485. However the Amiga has a larger dynamic range due to it's four volume 
  486. registers which introduce another 36 dB dynamic - but that is not the 
  487. same thing as the signal-to-noise ratio which is always 48 dB for 8 bit 
  488. systems (theoretically of course; some systems are disturbed by the RF 
  489. present in the computer). The D/A converters used in the Amiga are 
  490. sometimes called 'floating point converters'. In order to cope with 
  491. this Paula has the 'Boost' option. This option simply simulates a 9 
  492. bit D/A converter by using a nonlinear conversion scheme. The result 
  493. is OK for low volume MODs but it introduces additional distorsion at 
  494. high output levels.
  495.  
  496. If you don't mind about how the interpolation routine works, skip the 
  497. following paragraph. If not - I hope you know how to read a C routine.
  498.  
  499. /* Fix-Point number, representing the replay step size */
  500. typedef struct fxp {
  501.     int ip;                     /* integer part (1/1) */
  502.     int fp;                     /* fractional part (1/65536) */
  503. } fixpoint;
  504. /* Fetch a byte from the sample data and calculate the correct
  505.  * in-between value.
  506.  * Param: spl: pointer to the sample
  507.  * index: index inside the sample as fixpoint number
  508.  * volume: Amiga-Volumeregister value, 0..64
  509.  * Return: resulting sample value.
  510.  * Bereich: 14 bit (8 bit sample + 6 bit volume info)
  511.  */
  512. int get_samplevalue( char *spl, fixpoint index, int volume )
  513. {
  514.     int s1,s2;                  /* sample values sn and sn+1 */
  515.     s1 = volume * spl[index.ip];
  516.     s2 = volume * spl[index.ip+1];
  517.     return (((s2-s1)*index.fp)/65536 + s1);
  518. }
  519.  
  520. Besides in this routine the index has to be incremented (addition of 
  521. two fix point numbers), the return value must be scaled and saved, 
  522. and the sample must be checked if it has reached the end. As there 
  523. are four channels which must be calculated the above routine is 
  524. called 200,000 times per second. To make this run in real time a lot 
  525. of optimizations must be done. Even the 68030 would be totally 
  526. overworked if these routines were really written in C (that means: I 
  527. am better than my C compiler...).
  528.  
  529.  
  530. A really nice chapter: BUGS & LIMITATIONS!
  531. ==========================================
  532. Collisions: Normally Paula should not interfere with any other 
  533. program - but problems with other utilities accessing the sound 
  534. hardware are unavoidable. As long as the 'opponent' is well programmed 
  535. nothing will happen - except that Paula is stopped as long as the 
  536. other program uses the sound chip. A simple test: run two Paulas... 
  537. (if you can!)
  538.  
  539. Overload: When your computer is totally overloaded the internal 
  540. timing is somewhat confused. As a consequence the moment when Paula 
  541. writes into the sound registers is undetermined. So it may happen that 
  542. the sound chip starts playing the wrong data - however the registers 
  543. contain the right values! In that case, choose a lower sampling 
  544. frequency or switch of the interpolation. Or have you forgotten to 
  545. turn on the 68030 cache??
  546.  
  547. Resolution change: Before you change resolutions make sure that Paula 
  548. is inactive. Call Paula, press 'STOP' and leave Paula again. Under 
  549. MultiTOS the problem might be solved if the OS sends an AP_TERM message 
  550. to every application - because this tells Paula to stop all activities.
  551.  
  552. Protracker 'CIA'-replay-speed: From version 2.2 on the CIA speed 
  553. setup works exactly as in the original. The disadvantage is that some 
  554. Noisetracker modules are now played incorrectly; so you have to switch 
  555. off the protracker mode when you play such modules.
  556.  
  557. System crash on STE's: I know of two 1040STE computers on which Paula 
  558. doesn't run. The symptoms: the computer freezes, the only escape being 
  559. the reset button. This is likely to be a hardware problem as there is 
  560. absolutely no link between the crashes and the modules played. Similar 
  561. symptoms were experienced on a 1040STE with a 16MHz processor card - it 
  562. crashed due to a cache problem. If you have such an STE - sorry, no 
  563. remedy, it's a hardware bug! The version 2.4 has a TAS opcode removed, 
  564. so the chance of being able to run Paula increases somewhat on these 
  565. machines...
  566.  
  567.  
  568. Internals
  569. =========
  570. GEM-message interface: Paula responds to the 'VA_START'-message 
  571. (introduced by Gemini). This message contains a pointer (in msg[3] and 
  572. msg[4]) which is evaluated by Paula:
  573. ·   Null pointer or Pointer to an empty string: Same reaction as for 
  574.     AC_OPEN
  575. ·   Pointer to a string with a filename: Paula tries to load and play 
  576.     that file.
  577. ·   Pointer to a string with multiple filenames: Paula goes into 
  578.     multiplay mode and plays all of these files.
  579.  
  580. The string is copied internally by Paula, so it may be local on the 
  581. writer's side. However the memory must be readable - beware of the 
  582. MultiTOS memory protection!!! The string also must contain complete 
  583. path and name indications, NO WILDCARDS. The source code of MP 
  584. (ModPlay) may serve you as an example.
  585.  
  586. From version 2.4 on there are more messages:
  587. ·   MP_ACK (0x4800): Paula says OK! The previous command was 
  588.     understood.msg[7] contains the version number of the program; 
  589.     0x204 = v2.4
  590. ·   MP_NAK (0x4801): Paula says NOT OK! The previous command wasn't 
  591.     understood or rejected. msg[7] contains the version number of the 
  592.     program.
  593. ·   MP_START (0x4802): works identical to VA_START, but after having 
  594.     taken over the command string Paula replies with a MP_ACK or MP_NAK 
  595.     message, thus signalling the the memory area for the string may 
  596.     be used for other purposes. This is very important in 
  597.     multitasking systems.
  598. ·   MP_STOP (0x4803): stops  Paula and releases the memory. The 
  599.     window stays open. Paula replies with MP_ACK.
  600. ·   MP_SHUTDOWN (0x4804): Stops and terminates Paula. In accessory mode 
  601.     only the memory is released and the window is closed.
  602.  
  603. Vector stealing... Paula uses the IO7 interrupt of the 68901-MFP. Of 
  604. course the 'XBRA' protocol is used, it's magic is 'PAUL'.
  605.  
  606. Memory usage: Paula needs some 45 KB for it's program code and data. 
  607. On machines with a 68000 processor another 15 KB are used for the 
  608. volume tables.
  609.  
  610. Emergency stop: Want to kill Paula? Well, don't forget to send an 
  611. MP_SHUTDOWN message (GEM msg #0x4804) to it before doing so.
  612.  
  613. Speeeeed! To save CPU time on your TT Paula should be loaded into 
  614. FastRAM and the processor cache should be enabled. Without cache 
  615. Paula will probably have problems doing 50 KHz with interpolation... 
  616. May the schwartz be with you!
  617.  
  618. Hardware: Timer A and the wonderful Yamaha sound chip are not 
  619. touched. The key click and the wonderful 'bell' sound won't be 
  620. affected. Moreover you may also use STSPEECH or any other utility to 
  621. produce digital sound effects on the Yamaha chip.
  622.  
  623. Development: Paula 2 was developed using the Pure C compiler and the 
  624. Pure Assembler. The 'real MODplayer', the replay routine is based on 
  625. the 'Protracker 2.1B Player' of the Amiga Freelancers.
  626.  
  627. Thanx for the help...: helpful people were:
  628. Joel François:  Amiga documentation, D.O.C. Replay Routine
  629. Fridolin Koch:  Protracker Replay Routine, good mods
  630. Georges Kesseler:   beta tester, optimization ideas, repeat-killer
  631. Christian Limpach:  beta tester, ST-Sound driver!
  632.  
  633.  
  634. MP - ModPlay Interface
  635. ======================
  636. MP.PRG is a simple utility which gives you the possibility to launch 
  637. modules from a command shell. MP simply sends a MP_START message to 
  638. Paula. MP doesn't evaluate wildcards but it is aware of the ARGV method 
  639. to deal with large command lines (link it with 'PCVSTART.O' when 
  640. compiling it with Pure C). This is ideal for use with MintShel or 
  641. Mupfel.
  642.  
  643. Also try to install MP as a application for '*.MOD'-files in the 
  644. standard DeskTop - you may then listen to modules by double clicking 
  645. them, provided PAULA is installed as an accessory!
  646.  
  647. MP is not an example for a good C programming style - it is very 
  648. simple and straightforward. MP.TTP and MP.C are public domain.
  649.  
  650.  
  651. CHECKMOD - repair corrupted mods
  652. ================================
  653. Eventually Paula will refuse a module with the comment 'Corrupted 
  654. MODfile'. In that case use CHECKMOD to check and maybe repair the 
  655. module in question. Simply start CHECKMOD and type in the name of the 
  656. module to test. Under TOS 2.06/3.06 drag the module's icon onto the 
  657. CHECKMOD icon.
  658.  
  659. Checkmod will then read the module and control it's internal 
  660. structures. It displays a list with the used instruments and reports 
  661. the error. These may be:
  662.  
  663. Corrupted Pattern List: Sorry, but this module cannot be repaired. 
  664. Short Sample: A sample is too short. If this affects only the last 
  665. sample and if the difference isn't too big Checkmod will probably be 
  666. successful. Paula tolerates 4 lacking bytes.
  667.  
  668. Superfluous Data in MODfile: No problem - this module simply has some 
  669. garbage appended. Checkmod cuts it off, because Paula tolerates only up 
  670. to 256 bytes of garbage.
  671.  
  672. After running Checkmod you get the text 'Save Module as:'. Press 
  673. <Return> to leave, or enter a single dot '.' to save the module under 
  674. it's current name. Or enter a new path and name to save the module 
  675. using another name.
  676.  
  677.  
  678.  
  679. Bibliography
  680. ============
  681. [1] Jankowski/Rabich/Reschke
  682.     Atari Profibuch ST/STE/TT
  683.     Sybex Verlag, ISBN 3-88745-888-5
  684.  
  685. [2] Amiga Hardware Reference Manual
  686.     Addison-Wesley, ISBN 0-201-18157-6
  687.  
  688. [3] Thomsen
  689.     Digitale Audiotechnik
  690.     Franzis' Verlag, ISBN 3-7723-7151-5
  691.  
  692. [4] DDS - Direkte Digitale Synthese
  693.     Elektor No257, Mai 1992, s.52ff
  694.  
  695. [5] Ulrich Michels
  696.     dtv Atlas zur Musik, Band 1 (Akustik, Wellenlehre, Tonparameter)
  697.     Deutscher Taschenbuch Verlag, ISBN 3-423-03022-4
  698.  
  699.  
  700.  
  701. Registration form
  702. =================
  703. I use PAULA, Version 2._ _ and want to register.
  704.  
  705. First, Last name:   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  706.  
  707. Street: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  708.  
  709. Zip, City:  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
  710. _ _
  711.  
  712. Some room for comments, ideas and bug reports (please tell me about 
  713. your hardware when you have problems with the MOD player, this helps a 
  714. lot):
  715.  
  716.  
  717.